Определите,
принадлежит ли точка A, заданная координатами (x, y), части плоскости,
ограниченной окружностью радиусом R с центром в точке O(x0, y0).
Вход. В первой
строке заданы координаты точки A(x, y). Во второй строке заданы три целые
числа: радиус окружности R (0 < R ≤ 200) и координаты её центра O(x0, y0). Все координаты целые, значения которых по модулю не
превышают 200.
Выход. Вывести
YES, если точка принадлежит указанной части плоскости, NO если не принадлежит,
и ON BORDER – если нам "повезло" и точка принадлежит кривой,
описывающей окружность.
Пример входа |
Пример выхода |
2 3 5 1 2 |
YES |
геометрия
Заданы
точка A(x, y) и окружность радиусом R с центром в точке O(x0, y0).
Точка A
лежит внутри окружности, если
(x – x0)2
+ (y – y0)2 < R2
Точка A
лежит вне окружности, если
(x – x0)2
+ (y – y0)2 > R2
Точка A
лежит на окружности, если
(x – x0)2
+ (y – y0)2 = R2
Реализация алгоритма
Читаем
входные данные.
scanf("%d %d",&x,&y);
scanf("%d %d %d",&r,&x0,&y0);
Выводим ответ в зависимости от местоположения точки и
окружности.
if ((x - x0) * (x - x0) + (y - y0) * (y - y0)
< r * r)
puts("YES"); else
if ((x - x0) * (x - x0) + (y - y0) * (y - y0)
> r * r)
puts("NO");
else
puts("ON BORDER");